32 #ifndef __MODULATOR_H__
33 #define __MODULATOR_H__
41 #include "fsl_soundcard.h"
42 #include "fsl_sai_driver.h"
43 #include "fsl_sai_features.h"
52 #define WAVE_FILE_HEADER_SIZE 0x2CU
53 #define WAV_PARTIAL_BUFFER_SIZE 512
54 #define WAV_PI 3.14159265
70 typedef struct wave_header
88 typedef struct wave_file
124 snd_status_t
play_wav(uint32_t *pcmBuffer, uint8_t divider);
136 static void send_wav(uint8_t *
dataBuffer, uint32_t length, sai_data_format_t *dataFormat);
160 snd_status_t
play_mod_wav(uint16_t *pcmBuffer, uint16_t *modPointer, float32_t *fftData, float32_t *fftResult, uint8_t divider, uint8_t modulation, uint32_t srcSizeBytes, uint32_t sampleSize);
176 float32_t
get_wav_Hz(uint16_t *pcmBuffer, float32_t *fftData, float32_t *fftResult, uint32_t sampleSize);
198 uint32_t
mod_wav_data(uint16_t *pcmBuffer, uint16_t *
modBuffer, float32_t *fftData, float32_t *fftResult, uint16_t startIndex, uint32_t sampleSize, uint8_t modType);
210 void play_wav_arpeggio(uint32_t *arpeggioBuffer, uint32_t introLength, uint8_t divider);
Definition: modulator.h:64
snd_status_t get_wav_data(wave_file_t *waveFile)
Definition: modulator.c:104
unsigned char modBuffer[sizeof(sin261Hz)]
Definition: pcm_data.h:11622
uint32_t sampFreq
Definition: modulator.h:79
uint32_t * data
Definition: modulator.h:91
uint32_t fmtLen
Definition: modulator.h:76
wav_mods
Definition: modulator.h:59
uint16_t tag
Definition: modulator.h:77
const uint16_t dataBuffer[]
Definition: data_file.h:50
wave_header_t header
windows PCM wavfile header
Definition: modulator.h:90
uint32_t size
Definition: modulator.h:73
uint32_t byteRate
Definition: modulator.h:80
void play_wav_arpeggio(uint32_t *arpeggioBuffer, uint32_t length, uint8_t divider)
Definition: modulator.c:514
uint16_t bitSamp
Definition: modulator.h:82
static void send_wav(uint8_t *dataBuffer, uint32_t length, sai_data_format_t *dataFormat)
uint16_t blockAlign
Definition: modulator.h:81
Definition: modulator.h:62
snd_status_t play_mod_wav(uint16_t *pcmBuffer, uint16_t *modPointer, float32_t *fftData, float32_t *fftResult, uint8_t divider, uint8_t modulation, uint32_t srcSizeBytes, uint32_t sampleSize)
Definition: modulator.c:256
float32_t get_wav_Hz(uint16_t *pcmBuffer, float32_t *fftData, float32_t *fftResult, uint32_t sampleSize)
Definition: modulator.c:283
snd_status_t play_wav(uint32_t *pcmBuffer, uint8_t divider)
Definition: modulator.c:173
void modulator_init(void)
Definition: modulator.c:66
uint32_t length
Definition: modulator.h:84
Definition: modulator.h:63
uint32_t mod_wav_data(uint16_t *pcmBuffer, uint16_t *modBuffer, float32_t *fftData, float32_t *fftResult, uint16_t startIndex, uint32_t sampleSize, uint8_t modType)
Definition: modulator.c:357
Definition: modulator.h:61
Definition: modulator.h:88
uint16_t channels
Definition: modulator.h:78